perm filename NSF.DOC[S84,JMC] blob sn#752013 filedate 1984-04-27 generic text, type T, neo UTF8


nsf.84[s84,jmc]         Research  plans 1.  Neither the  languages of
mathematical logic nor  present programming languages have  the power
of natural language,  although both provide necessary  supplements to
natural language in their respective domains.  In order to have fully
intelligent computer programs, we need to understand what is powerful
about  natural  language and  how  to give  this  power  to programs.
Naturally opinions  differ about where  this power comes  from.  Some
suppose it  comes simply from  the irregularity of  natural language,
but irregularity per se does not give power.

Some  suggestions  have  been  made to  use  natural  language  as an
internal language for AI, but so far nothing has been done that isn't
equivalent to a subset  of first order logic.  Moreover,  the natural
language front ends that  have been developed just manage  to express
in natural language what we already know how to express in  some kind
of  computerese.  This  has  the problem  backwards.   Rather natural
language must teach us to  express in a computer things that  we have
not previously been able to represent at all.

Our work on non-monotonic reasoning has provided a clue to a  part of
the greater expressive power of natural language.

Present mathematical logic is based on the idea of  an interpretation
of a language.

1.  Non-monotonic programming  languages.  With  few  and unimportant
exceptions  present  programming languages  and  their  compilers are
monotonic in  the following sense.   Each construction in  the source
language,  except  declarations, gives  rise  to code  in  the target
language.   However, human  descriptions of  procedures often  do not
have this character.

        Artificial intelligence  requires formal languages  that have
the  flexibility of  natural language,  but it  is difficult  to make
precise what  this flexibility  is.  One aspect  comes from  the fact
that  the concepts  used  in natural  language  do not  have  to have
general precise definitions or  even to be fully understood  in order
to  be usable.   Indeed a  large part  of philosophy  is  involved in
trying  to  make  precise  concepts  from  natural   language.   This
philosophical  work typically  involves  take a  concept  that people
think they understand  and showing, by inventing  hypothetical cases,
that we  are unsure about  what it means  in general.   However, even
when  uncertainty  about  a  concept  is  demonstrated   and  remains
unresolved, people still use the concept successfully in its previous
domain.  If an artificial  intelligence is to use these  concepts, we
must build it with a capability like that of a human to  use concepts
about  whose meaning  problems remain.   Otherwise, we  will  have to



solve all the philosophical  problems of meaning before we  can begin
on artificial intelligence.

Our goal,  therefore, is  to formalize a  certain class  of imprecise
concepts.  We plan to  use ordinary logic coupled  with non-monotonic
inference,  most  likely   circumscription.   The  idea  is   that  a
particular usage of a concept is presumed meaningful  and unambiguous
unless there is evidence to the contrary.

An example will help make the problem and our goal clear.  Suppose we
want to  build a legal  expert system to  advise a  district attorney
about what indictments will be supported by the facts of a particular
case.  Suppose that one of the relevant laws passed by  a legislature
makes it  a crime to  attempt to bribe  a public official.   Thus our
program should sometimes  recommend an indictment for  violating this
law.

        In an environment without expert systems such a law may be on
the books for  many years and many  cases tried before  the following
possibilities for ambiguity are noted.

De dicto defense:

        A  lawyer offers  the following  defense.  "You  have offered
evidence that  my client offered  the Commissioner of  Motor Vehicles
α$5,000  to  avoid losing  his  license for  drunk  driving,  but you
haven't proved that my client  knew the man was the  Commisioner.  My
client may have thought he  was just a lawyer.  Surely  attempting to
bribe a public official requires that the briber know the person is a
public official."

De re defense:

        Another lawyer offers a different defense.  "You have offered
evidence  that  my  client  offere  α$5,000  to  this  man  under the
impression that he was  the Commissioner, but his  appointment hadn't
started yet in the new administration, so he wasn't in fact  a public
official.  Surely to attempt  to bribe a public official,  the person
to whom the bribe is offered must actually be a public official".

Indefiniteness defense:

        "It is true my client advertised in the  %2Criminal Gazette%1
that he would  pay α$5,000 to any  public official who would  fix his
drunk driving conviction, but you haven't exhibited a specific public
official who was likely to read the advertisement.  Surely an attempt
to  bribe  a  public  official  requires  a  public  official  one is
attempting to bribe".



        Our present point is  not the resolution of  such ambiguities
in which both lawyers and philosophers have been interested.  Instead
we are interested in the  fact that indictments have been  sought and
cases tried in which no  participant was aware of the  possibility of
ambiguity  in the  law.   Indeed these  particular  ambiguities don't
arise in a case where  a specific public official whom  the defendant
knew to  be a  public official is  involved.  In  fact even  after an
ambiguity has  been discovered and  a case involving  it is  still in
litigation, cases not involving the ambiguity are resolved as before.

        Our  proposed  resolution  of  the  problem  involves  a non-
monotonic rule that a concept is to be regarded as unambiguous in all
cases where an ambiguity cannot be exhibited.

        A quite different kind  of potential ambiguity arises  in the
case of the word "Stanford".  We aren't for the moment  interested in
its interpretation as designating a person, but suppose  the trustees
of  Stanford  University decided  to  move the  University  to Texas.
Suddenly many references to  Stanford would become ambiguous  in ways
no-one previously contemplated.

        Our goal is to make  a computer system that could use  such a
concept without ever noticing a specific ambiguity.  If  an ambiguity
arose it might be "puzzled", but it wouldn't lose its ability  to use
the concept in unambiguous cases.

        Our actual goal with regard to using  non-monotonic reasoning
to make more  flexible logical languages is  not quite as  precise as
the above would suggest.  There are many interesting  phenomena here,
and we propose to explore them.  Proposed research

1. Formalization of common sense knowledge and reasoning

2. Non-monotonicity

3. Programming without looking

4. CBCL

5.  Mathematical  Theory  of  Computation  and  programming languages
Modifying programs without reading them (or not reading them much)